package cn.fl.riskctrl.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.riskctrl.vo.RcCcardv2RiskResultVO;
import fl.riskctrl.facade.riskctrl.common.dto.RcVectorResultDTO;

import java.util.ArrayList;
import java.util.List;

/**
* @Description: 风险控制矢量结果信息表
记录该规则使用到的矢量信息，共用表 转换器
* @Description: 服务层与展现层转换类
* @Description: 所有的PO只能在持久成和服务层使用
* @Description: 所有的DTO只能在展现层和服务层使用
* @Description: 在服务层中向下是DTO转PO,向上是PO转DTO
*/
public class RcCcardv2RiskResultTransform{
   /**
    * PO 转  VO
    * @param dto RcVectorResult
    * @return RcVectorResultDTO
    */
   public static RcCcardv2RiskResultVO toVO(RcVectorResultDTO dto) {
       RcCcardv2RiskResultVO vo = null;
       if (dto != null) {
           vo = new RcCcardv2RiskResultVO();
           vo.setId(dto.getId());
           vo.setDataId(dto.getDataId());//业务ID
           vo.setDsCd(dto.getDsCd());//数据来源（表名称）
           vo.setVectorKey(dto.getVectorKey());//矢量KEY
           vo.setVectorVal(dto.getVectorVal());//矢量结果
           vo.setVerNo(dto.getVerNo());//版本号
           vo.setRem(dto.getRem());//备注
           vo.setIsValid(dto.getIsValid());//是否有效
           vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
           vo.setVectorKeyNm(dto.getVectorKeyNm());//矢量KEY名称
           vo.setKey1(dto.getKey1());//自定义
           vo.setKey2(dto.getKey2());//自定义
           vo.setKey3(dto.getKey3());//自定义
           vo.setDataType(dto.getDataType());//数据类型（参数或返回值）
           vo.setCrtTm(dto.getCrtTm());//创建时间
           vo.setCrtUsrId(dto.getCrtUsrId());//创建人
           vo.setMdfTm(dto.getMdfTm());//修改时间
           vo.setMdfUsrId(dto.getMdfUsrId());//修改人
       }
       return vo;
   }


   /**
    * PO集合 转 DTO集合
    * @param list List<RcVectorResultDTO>
    * @return List<RcCcardv2RiskResultVO>
    */
   public static List<RcCcardv2RiskResultVO> toVOList(List<RcVectorResultDTO> list) {
       List<RcCcardv2RiskResultVO> voList = new ArrayList<RcCcardv2RiskResultVO>();
       if (CollectionUtils.isNotEmpty(list)) {
           for (RcVectorResultDTO ddto : list) {
               voList.add(toVO(ddto));
           }
       }
       return voList;
   }
}
